MC_MoveAbsolute

功能塊 MC_MoveAbsolute
下達一個目標為特定絕對位置之運動指令。
VAR_IN_OUT
B AxisIn AXIS_REF 軸的參考。
VAR_INPUT
B Execute BOOL 在上升邊緣開始運動。
E ContinuousUpdate BOOL 若為 TRUE,當功能塊 (FB) 正在執行且參數值正被更新時,FB 將使用新值;若為 FALSE,則 FB 不會使用新值。
B Position LREAL 偵測到參考訊號時的絕對位置,[單位]。
B Velocity LREAL 最大速度值,靠近目標位置不一定會到達最大速度,[單位/每秒]。
E Acceleration LREAL 加速度值,永遠為正值,單位由 MC_ProfileType 決定,(馬達的增加電源) [單位/每秒2] 或 [每秒]。
E Deceleration LREAL 減速度值,永遠為正值,單位由 MC_ProfileType 決定,(馬達的減少電源) [單位/每秒2] 或 [每秒]。
E Jerk LREAL 加加速度值。永遠為正值,單位由 MC_ProfileType 決定,為 [單位/每秒3] 或 [每秒]。
B Direction MC_Direction 軸的移動方向。
E BufferMode MC_BufferMode 定義如何融合兩功能塊的速度。
VAR_OUTPUT
B Done BOOL 已達到命令之位置。
E Busy BOOL 功能塊尚未完成且預期將有新的輸出值。
E Active BOOL 功能塊正在控制軸。
E CommandAborted BOOL 命令被另一個命令中止。
B Error BOOL 功能塊中出現錯誤的訊號。
E ErrorID MC_Error 錯誤識別。
  • 若此功能塊中止,則未行經的距離將捨棄。
  • 若無其他擱置的動作,則此動作以零速度完成。
  • 若只有一種數學解決方案可以到達指定位置(如在線性系統中),則輸入方向的值將被忽略。
  • 對於模數軸 (modulo axis),有效的絕對位置值在 [0, 360) 或相應範圍內,然而,應用程式可能會將 MC_MoveAbsolute 的“命令位置”移動到相應的模數範圍內。
  • 列舉類型 mcShortestWay 著重於透過最短路徑的軌跡,走的方向取決於發送命令的當前位置。
  • 更多關於融合模式的運作方式之資訊請見:概念解說 > 融合運動

 

  MC_MoveAbsolute  
AXIS_REF   AxisIn   Axis   AXIS_REF
BOOL   Execute   Done   BOOL
BOOL   ContinuousUpdate   Busy   BOOL
LREAL   Position   Active   BOOL
LREAL   Velocity   CommandAborted   BOOL
LREAL   Acceleration   Error   BOOL
LREAL   Deceleration   ErrorID   MC_Error
LREAL   Jerk        
MC_Direction   Direction        
MC_BufferMode   BufferMode        
             

下圖兩個範例為兩個絕對運動功能塊組合:

  1. 時序圖的左側部分說明了在第一個功能塊 (FB) 之後呼叫第二個功能塊 (FB) 的情況,若 First 到達命令位置 6000(並且速度為 0),則輸出 Done 會導致 Second FB 移動到位置 10000。
  2. 時序圖的右側部分說明了第二個功能塊 (FB) 在第一個 FB 仍在執行時開始執行的情況,在這種情況下,在 First FB 的恆定速度期間,第一個運動即被 Test 訊號中斷和中止;而雖然 6000 的位置還沒有到達,Second FB 直接移動到 10000 的位置。

注意:這些範例基於功能塊的兩個實例:實例“First”和“Second”。